package com.sc.nft.req.wxPay;

import lombok.Data;

/**
 * @Author：LiGen
 * @Package：com.sc.nft.req.wxPay
 * @Project：sc_metago
 * @name：NotifyReq
 * @Date：2024/5/27 16:57
 * @Filename：NotifyReq
 */
@Data
public class NotifyReq {

    /**
     * 请求体 body。**切记使用原始报文**，不要用 JSON 对象序列化后的字符串，避免验签的 body 和原文不一致
     */
    String body;

    /**
     * 签名中的时间戳
     */
    String timestamp;

    /**
     * 签名中的随机数
     */
    String nonce;

    /**
     * 签名类型
     */
    String signType;

    /**
     * 微信支付平台证书的序列号，验签必须使用序列号对应的微信支付平台证书
     */
    String serialNo;

    /**
     * 应答的微信支付签名
     */
    String signature;

    public static NotifyReq build(String body, String timestamp, String nonce, String signType, String serialNo, String signature) {
        NotifyReq notifyReq = new NotifyReq();
        notifyReq.setBody(body);
        notifyReq.setTimestamp(timestamp);
        notifyReq.setNonce(nonce);
        notifyReq.setSignType(signType);
        notifyReq.setSerialNo(serialNo);
        notifyReq.setSignature(signature);
        return notifyReq;
    }
}
